package MapDemo;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;

/*         1.定义一个list集合,存储Integer类型,将1-10存入该集合
           2.将集合中元素顺序打乱,输出到控制台上
           3.遍历集合,将小于3的元素删除
           4.将余下的元素进行排序,打印到控制台上
           5.遍历集合,将偶数元素改为原本的两倍,打印输出
           6.去除集合中重复的元素,再打印输出.*/
class Demo1 {
    public static void main(String[] args) {
        //1.定义一个list集合,存储Integer类型,将1-10存入该集合
        ArrayList<Integer> list = new ArrayList<>();
        for (int i = 1; i < 11; i++) {
            list.add(i);
        }
        //Collections.addAll(list,1,2,3,4,5,6,7,8,9,10);

        //2.将集合中元素顺序打乱,输出到控制台上
        System.out.println("打乱之前:"+list);
        Collections.shuffle(list);
        System.out.println("打乱之后:"+list);

        //3.遍历集合,将小于3的元素删除
        for (int i = 0; i < list.size(); i++) {
            Integer integer = list.get(i);
            if(integer<3){
                list.remove(i);
                i--;
            }
        }
        System.out.println("将小于3的元素删除之后:"+list);

        //4.将余下的元素进行排序,打印到控制台上
        Collections.sort(list);
        System.out.println("元素进行排序之后:"+list);

        //5.遍历集合,将偶数元素改为原本的两倍,打印输出
        for (int i = 0; i < list.size(); i++) {
            Integer integer = list.get(i);
            if(integer%2==0){
                list.set(i,integer*2);
            }
        }
        list.add(8);
        System.out.println("将偶数元素改为原本的两倍之后:"+list);


        // 6.去除集合中重复的元素,再打印输出.  Set
        //6.1 先将list集合中的所有元素装入set集合中
        HashSet<Integer> set = new HashSet<>();
        for (Integer integer : list) {
            set.add(integer);
        }
        //HashSet<Integer> set = new HashSet<>(list);

        //6.2 再将set集合中的所有元素 装入list集合中
        list.clear();//清空list集合中的元素
        for (Integer integer : set) {
            list.add(integer);
        }
        System.out.println("去除集合中重复的元素之后:"+list);

    }
}
